$(function () {
    //数据字典的功能
    var dict_datagrid = $("#dict_datagrid");
    var dict_dialog = $("#dict_dialog");
    var dict_form = $("#dict_form");

    //数据字典明细的功能
    var dict_item_datagrid = $("#dict_item_datagrid");
    var dict_item_dialog = $("#dict_item_dialog");
    var dict_item_form = $("#dict_item_form");

    //公共变量--数据字典类型id
    var parentSn = null;

    dict_datagrid.datagrid({
        url: "dictionary/list",
        fit: true,
        fitColumns: true,
        striped: true,
        singleSelect: true,
        rownumbers: true,
        columns: [[
            {field: "ck", checkbox: true},//显示多选框样式
            {field: "id", hidden: true},
            {field: "sn", title: "数据类型编号", width: 100},
            {field: "name", title: "数据类型名称", width: 100},
            {field: "intro", title: "数据类型简介", width: 100}
        ]],
        toolbar: '#tb',
        onClickRow: function (index, row) {
            //如果选中行有id,则可以查询明细列表
            if (row.id) {
                parentSn = row.sn;
                dict_item_datagrid.datagrid({
                    url: '/dictionaryItem/list?parentSn=' + row.sn,
                    toolbar: '#item_tb',
                    fit: true,
                    fitColumns: true,
                    singleSelect: true,
                    columns: [[
                        {field: 'id', checkbox: true},
                        {
                            field: 'parent', title: '数据类型', width: 80, formatter: function (value, ss, index) {
                            return row.name;
                        }
                        },
                        {field: 'name', title: '明细名称', width: 80},
                        {field: 'intro', title: '明细简介', width: 80}
                    ]]
                });
            }
        }
    });

    //数据字典
    var cmdObj = {
        //工具栏的刷新
        reload: function () {
            dict_datagrid.datagrid("reload");
        },

        //工具栏添加
        add: function () {
            //添加与编辑时
            dict_form.form("clear");
            //1.弹框
            dict_dialog.dialog("open");
            //设置标题
            dict_dialog.dialog("setTitle", "新增数据类型");
        },
        //编辑
        edit: function () {
            //判断是否选中数据
            var row = dict_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert('温馨提示', "请选择要编辑的数据");
                return;
            }
            //添加与编辑时将数据清空
            dict_form.form("clear");

            //数据回显: 同名原则
            dict_form.form("load", row);
            //1.弹框
            dict_dialog.dialog("open");
            //设置标题
            dict_dialog.dialog("setTitle", "数据类型编辑");
        },

        //工具栏删除
        remove: function () {
            //判断是否选中数据
            var row = dict_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert('温馨提示', "请选择要删除的数据");
                return;
            }
            $.messager.confirm('确认', '您确认想要执行这个操作吗？', function (r) {
                if (r) {
                    $.get("/dictionary/delete", {id: row.id}, function (data) {
                        if (data.success) {
                            //刷新列表数据
                            dict_datagrid.datagrid("reload");
                        } else {
                            $.messager.alert('温馨提示', data.msg);
                        }
                    })
                }
            });
        },
        //保存操作
        save: function () {
            var id = $("#dictId").val();
            var url = "/dictionary/save";
            if (id) {
                url = "/dictionary/update";
            }
            dict_form.form('submit', {
                url: url,
                success: function (data) {
                    data = $.parseJSON(data);

                    if (!data.success) {
                        $.messager.alert('温馨提示', data.msg);
                    } else {
                        //关闭框
                        dict_dialog.dialog("close");
                        //刷新列表数据
                        dict_datagrid.datagrid("reload");
                    }
                }
            })
        },
        //关闭
        cancel: function () {
            dict_dialog.dialog("close");
        },




        //数据字典明细的功能
        //工具栏的刷新
        itemreload: function () {
            dict_item_datagrid.datagrid("reload");
        },

        //工具栏添加
        itemadd: function () {

            //添加与编辑时
            dict_item_form.form("clear");
            //1.弹框
            dict_item_dialog.dialog("open");
            //设置标题
            dict_item_dialog.dialog("setTitle", "新增数据类型");

           // console.log(parentSn);
            if (parentSn) {
                $("#parentSn").combobox('setValue',parentSn);
            }
        },
        //编辑
        itemedit: function () {
            //判断是否选中数据
            var row = dict_item_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert('温馨提示', "请选择要编辑的数据");
                return;
            }
            //添加与编辑时将数据清空
            dict_item_form.form("clear");
            //数据类型名字不一样, 需要修改

           // .log(row);
            if (row.parent) {
                row["parent.sn"] = row.parent.sn;
               // console.log(row.parent);

            }
            //数据回显: 同名原则
            dict_item_form.form("load", row);
            //1.弹框
            dict_item_dialog.dialog("open");
            //设置标题
            dict_item_dialog.dialog("setTitle", "数据类型编辑");
        },

        //工具栏删除
        itemremove: function () {
            //判断是否选中数据
            var row = dict_item_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert('温馨提示', "请选择要删除的数据");
                return;
            }
            $.messager.confirm('确认', '您确认想要执行这个操作吗？', function (r) {
                if (r) {
                    $.get("/dictionaryItem/delete", {id: row.id}, function (data) {
                        if (data.success) {
                            //刷新列表数据
                            dict_item_datagrid.datagrid("reload");
                        } else {
                            $.messager.alert('温馨提示', data.msg);
                        }
                    })
                }
            });
        },
        //保存操作
        itemsave: function () {
            var id = $("#dictId").val();
            var url = "/dictionaryItem/save";
            if (id) {
                url = "/dictionaryItem/update";
            }
            dict_item_form.form('submit', {
                url: url,
                success: function (data) {
                    data = $.parseJSON(data);

                    if (!data.success) {
                        $.messager.alert('温馨提示', data.msg);
                    } else {
                        //关闭框
                        dict_item_dialog.dialog("close");
                        //刷新列表数据
                        dict_item_datagrid.datagrid("reload");
                    }
                }
            })
        },
        //关闭
        itemcancel: function () {
            dict_item_dialog.dialog("close");
        }
    };

    //调用
    $("a[data-cmd]").click(function () {
        var cmd = $(this).data("cmd");
        cmdObj[cmd]();
    });

    //字典的编辑框
    dict_dialog.dialog({
        width: 400,
        height: 320,
        buttons: "#bb",
        closed: true
    });

    //明细的编辑框
    dict_item_dialog.dialog({
        width: 400,
        height: 320,
        buttons: "#item_bb",
        closed: true
    })

});



